const { getNewsDetail } = require("../../utils/newsAPI");

Page({
  data: {
    news: {},
    commentSectionVisible: false, // 控制评论区的显示与隐藏
    commentContent: '' // 评论输入框的内容
  },

  onLoad(options) {
    const id = options.id; // 获取跳转时传递的 id

    const news = getNewsDetail(id).data;
    console.log("详情页接收到的新闻"+news);

    // 确保 comments 初始化为数组
    if (!Array.isArray(news.comments)) {
      news.comments = [];
    }

    if (!news.video) {
      news.video = null; // 如果没有视频链接，设置为 null
    }

    this.setData({ news: news });
    console.log(this.data.news);
  },

  // 切换点赞状态
  toggleLike: function () {
    let news = this.data.news;

    // 如果已经点赞，再次点击取消点赞
    if (news.isLiked) {
      news.isLiked = false; // 取消点赞
      news.likeCount -= 1; // 点赞数减1
    } else {
      news.isLiked = true; // 点赞
      news.likeCount += 1; // 点赞数加1
    }

    this.setData({
      news: news
    });
  },

  // 切换收藏状态
  toggleCollect: function () {
    let news = this.data.news;
    news.collected = !news.collected;
    if (news.collected) {
      news.collectCount += 1;
    } else {
      news.collectCount -= 1;
    }
    this.setData({
      news: news
    });
  },

  // 显示/隐藏评论区域
  showCommentSection: function () {
    this.setData({
      commentSectionVisible: !this.data.commentSectionVisible
    });
  },

  // 获取输入框内容
  onCommentInput: function (e) {
    this.setData({
      commentContent: e.detail.value
    });
  },

  // 提交评论
  submitComment: function () {
    if (!this.data.commentContent.trim()) {
      wx.showToast({
        title: '评论内容不能为空',
        icon: 'none'
      });
      return;
    }

    // 创建新评论对象
    const newComment = {
      commentId: this.data.news.comments.length + 1,
      author: '我',
      time: '刚刚',
      content: this.data.commentContent,
      likes: 0,
      authorAvatar: '/images/my_dianji.png'
    };

    // 深拷贝现有新闻对象，避免直接修改 this.data.news
    const updatedNews = JSON.parse(JSON.stringify(this.data.news));

    // 将新评论插入到评论数组的第一个位置
    updatedNews.comments.unshift(newComment);

    // 更新评论数量
    updatedNews.commentCount += 1;

    console.log("新评论数据：", newComment);
    console.log("更新后的评论列表：", updatedNews.comments);

    // 更新页面数据
    this.setData({
      news: updatedNews,
      commentContent: '', // 清空输入框内容
      commentSectionVisible: true // 确保评论区显示
    });

    // 提示评论提交成功
    wx.showToast({
      title: '评论已提交',
      icon: 'success'
    });
  },

  // 分享
  goToShare: function () {
    wx.showToast({
      title: '该功能正在快马加鞭中！', // 提示内容
      icon: 'none', // 不显示图标
      duration: 2000 // 持续时间
    });
  }
});
